import random


def user_input_num(input_msg, err_msg):
    '''
    定义用户输入数字方法
    :param input_msg :输入时的提示信息
    :param  err_msg：用户输入错误的提示信息
    :return：转化为整数类型的数字
    '''
    while True:
        user_num = input(input_msg)
        #判断用户输入内容的类型
        if user_num.isdigit():
            user_num = int(user_num)
            break
        else:
            print(err_msg)
    return user_num


def guess_number(guess_num , target_num):
    '''
    猜数字
    :param guess_num :a允许的最多的猜数次数
    :param target_num :要猜的目标数字
    :return :
    '''
    #定义局部变量（定义在函数内容，作用域在本函数内）
    input_msg = "你猜猜1-10之间我选择的是哪个数字呀？"
    err_msg = "输入的不是整数哦，请重新输入"
    #循环允许的次数
    for i in range(guess_num):
        #调用用户输入整数的方法
        user_num = user_input_num(input_msg ,err_msg )
        #判断用户输入的数字是否为与目标数字相等
        if user_num == target_num:
            print("恭喜你猜对了")
            break
        else:
            if i != guess_num - 1:
                if user_num > target_num:
                    print(f"你猜的数字{user_num}比较大，再试试吧")
                else:
                    print(f"你猜的数字{user_num}比较小，再试试吧")
            else:
                print(f"猜错了，正确答案是{target_num}")
    print("游戏结束")

if __name__ == '__main__':
    #选择一个【1，10】范围内容的随机整数作为目标数字
    target_num = random.randint(1, 10)
    guess_num = 3
    guess_number(target_num,guess_num)